Many types of communication systems have been developed and implemented to effectuate communication of data between two or more sending and receiving stations. In some communication systems, the communication channel interconnecting the sending and receiving stations is formed of a radio channel defined upon a portion of the electromagnetic spectrum. A communication system utilizing radio channels is referred to as a radio communication system.
A cellular communication system is a type of radio communication system which has achieved wide levels of usage and has been installed throughout large geographical areas of the world. Advancements in communication technologies have permitted the development of successive generations of cellular communication systems. Reference is commonly made to at least three generations of cellular communication systems. First generation cellular communication systems generally include cellular communication systems which utilize analog modulation techniques, such as an Advanced Mobile Phone Service cellular communication system. Second generation cellular communication systems typically include cellular communication systems which utilize digital, multiple-access communication schemes, such as a Global System for Mobile communications cellular communication system or an Interim Standard—1995, Code-Division, Multiple-Access cellular communication system. Third generation cellular communication systems typically include cellular communication systems intended to provide universal communication services, including data services, voice services, and multi-media services.
At least one type of third generation cellular communication system includes an Internet protocol-based radio system that uses a text-based signaling protocol. In particular, this type of system may use a Session Initiation Protocol (SIP), which is a text-based protocol, as a call signaling protocol, e.g., to effectuate call set-up procedures between an access network and a core network. Other text-based protocols which may be used include Session Description Protocol, Real Time Streaming Protocol, and Hyper Text Transfer Protocol.
Cellular communication systems and, more generally, many other radio communication systems, are bandwidth-constrained. That is to say, the portion of the electromagnetic spectrum available to a communication system upon which to define radio channels is limited. The limited radio channel capacity may limit the communication capacity of the communication system. To overcome this problem, compression and decompression techniques have been developed to allow compression of the signaling protocol messages prior to their communication upon the radio channel and decompression subsequent to their communication.
One set of compression and decompression techniques is dictionary-based. That is to say, dictionary devices are positioned at both a sending entity and a receiving entity. Each dictionary device includes a memory element populated with messages such that the sending entity may detect repetition of strings between a current message and the dictionary and communicate those strings by sending reference values for the dictionary instead of the strings themselves. The receiving entity may recover the original message by replacing the reference values with the strings in its dictionary to which those reference values refer.
One problem associated with conventional dictionary-based techniques relates to compression efficiency at the beginning of a communication session. These techniques typically maintain the dictionary devices dynamically such that the content of the dictionary devices is gradually built up during the message transmission process. Thus, the dictionary devices have no information at the beginning of a session, resulting in extremely low compression efficiency during the initial phases of the session while the content is being built up. To overcome this problem, some dictionary-based techniques have used a static dictionary device that includes protocol-specific information to improve the initial efficiency of the technique. However, the use of such a static dictionary has provided only limited improvement in compression efficiency.
Another problem with conventional dictionary-based techniques involves dictionary synchronization. In order to function properly, the sending and receiving entities populate each of their dictionary devices with the same messages in the same order. If such dictionary synchronization is lost due to message misordering, message loss, or other coherency problems, the entities will be unable to communicate properly using compressed messages. One solution to this problem has been to discard the dictionaries at both the sending and receiving entities and rebuild the dictionaries. However, as discussed above, compression efficiency is low while the dictionaries are being built up.